[Vagrant]saharaプラグインで仮想OS状態を管理する
Saharaプラグインで環境をロールバック
ここではChef + Vagrantを試してみました。今回は、Vagrantと共によく紹介される便利プラグイン、Saharaを紹介します。 これは仮想OSのスナップショットのようなものを簡単に取得できるVagrant用プラグインで、 vagrantでつくった仮想環境に変更を加えても簡単に元に戻すことができます。
環境構築方法
今回使用した動作環境は以下のとおりです。
- OS : MacOS X 10.7.5
- Vagrant : 1.2.2
- Ruby : 1.9.3
- VirtualBox : 4.1.2
ここで作ったCentOS環境を使用するので、vagrant upで起動できるようにしておきましょう。
Saharaプラグインを使う
プラグインのインストール
まずはSaharaプラグインをインストールします。下記コマンドを使ってインストールしましょう。
% vagrant plugin install sahara
saharaプラグインを使う
プラグインをインストールできたら、仮想OSを起動します。
% vagrant up
そして、saharaプラグインを使用するためにsandboxモードをonにします。 これで、いつでもsandboxモードをonにした状態へ戻れるようになります。
% vagrant sandbox on
仮想OSに対して何か変更をしてみてください。その変更を戻したい場合にはロールバックを行います。
% vagrant sandbox rollback
仮想OSに対して変更を行い、その状態へ戻れるようにしたい場合にはコミットを行います。 下記コマンドを使用してコミットしておけば、その後変更をおこなってロールバックしたときに、コミットした時点へ戻ります。
% vagrant sandbox commit
ちなみに、仮想OSを起動したままcommitしようとすると、かなり時間がかかるので、一度haltしてからcommitすれば多少早くcommitできます。
作業がおわったら、最後にsandboxモードをoffにします。 sandboxモードをoffにすると、「最後にコミットした時」か、「sandboxモードをonにした時(一度もコミットをしていなければ)」に戻ります。
% vagrant sandbox off
まとめ
今回はVagrantで仮想OSの状態を管理するためのSaharaプラグインを紹介しました。 Vagrant用プラグインは、これ以外にも数多くのものがあります。 ここでどんなプラグインがあるか見ることができるので、確認してみてください。